/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package principal;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.ArrayList;
import javax.swing.JComponent;
import sun.font.EAttribute;

/**
 *
 * @author 
 * Abad Carmona, Pablo
 * Belesbia Rojas, Francy
 * Daneri Beltrán, Stephany
 */

//Clase que usamos para graficar, movimientos y validaciones del juego
public class ConstelacionesLienzo extends JComponent {
                                                                
    public ConstelacionesLogica logica;
        
    public ConstelacionesLienzo(ConstelacionesLogica logica) {
        setPreferredSize(new Dimension(400, 400));        
        this.logica = logica;
    }      

    @Override
    public void paintComponent(Graphics g) {

        if(logica.contar(logica.estado.segmentos)>0){
            for (int i=0; i<logica.contar(logica.estado.segmentos); i++) {
                int x1, y1, x2, y2;
                System.out.println("Arista "+ i + "="+ logica.estado.segmentos[i]);    
                x1 = logica.estado.segmentos[i].x1;                    
                y1 = logica.estado.segmentos[i].y1; 
                x2 = logica.estado.segmentos[i].x2; // CÓDIGO ANTERIOR : +(int)(75 * ((segmentos[i].x2 - segmentos[i].x1) / distancia(segmentos[i].x1, segmentos[i].y1, segmentos[i].x2, segmentos[i].y2)));
                y2 = logica.estado.segmentos[i].y2; // CÓDIGO ANTERIOR : +(int)(75 * ((segmentos[i].y2 - segmentos[i].y1) / distancia(segmentos[i].x1, segmentos[i].y1, segmentos[i].x2, segmentos[i].y2)));
                System.out.println("Tamaño = " + logica.distancia(x1, y1, x2, y2));
                if (i%2 == 0) {
                    g.setColor(Color.WHITE);

                } else {
                    g.setColor(Color.BLACK);
                }
                g.drawLine(x1, y1, x2, y2); //Dibuja una línea con las coordenadas dadas
                //System.out.println("Arista dibujada");
                //System.out.println(arista.inicio.x + " " + arista.inicio.y + " " + arista.fin.x + " " + arista.fin.y);
                //System.out.println(x1 + " " + y1 + " " + x2 + " " + y2);
                g.setColor(Color.BLACK);
            }
        }
        for (Nodo nodo : logica.estado.nodos) {
            //Pintamos los nodos con tamaño de 4px
            if(nodo.x == logica.estado.objetivoB[0] && nodo.y == logica.estado.objetivoB[1]){
                g.setColor(Color.WHITE);
                g.drawArc(nodo.x-4, nodo.y-4, 8, 8, 0, 360);
            }
            if(nodo.x == logica.estado.objetivoO[0] && nodo.y == logica.estado.objetivoO[1]){
                g.setColor(Color.BLACK);
                g.drawArc(nodo.x-4, nodo.y-4, 8, 8, 0, 360);
            }
            
            g.setColor(Color.YELLOW);
            g.fillArc(nodo.x-2, nodo.y-2, 4, 4, 0, 360);                      
        }

    } 
    
    
}
